package br.gov.mi.corporativo.dominio.boundary.comum.unidademedida;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.UnidadeMedida;
import br.gov.mi.corporativo.dominio.repositorio.comum.UnidadeMedidaRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.unidademedida.UnidadeMedidaEndPoint")
public class UnidadeMedidaServico extends CrudServicoImpl<UnidadeMedida, Long, UnidadeMedidaRepositorio> implements UnidadeMedidaEndPoint {

	@Inject
    public void setRepository(UnidadeMedidaRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	public UnidadeMedida recuperarPorNome(String nome) {
		return repositorio.findByNmUnidadeMedida(nome);
	}

	public UnidadeMedida recuperarPorSigla(String sigla) {
		return repositorio.findBySgUnidadeMedida(sigla);
	}

	@Override
	public UnidadeMedida recuperarPorDescricao(String descricao) {
		return repositorio.findByDsUnidadeMedida(descricao);
	}

}
